package com.ecoolex.ying.space.ws;

import java.util.List;

import com.ecoolex.framework.common.exception.BizException;
import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.common.pojo.Pagination;
import com.ecoolex.framework.common.pojo.Sorting;
import com.ecoolex.ying.space.entity.MarktingCatalogGoods;
import com.ecoolex.ying.space.entity.OutsourcingGoodsWithBLOBs;
import com.ecoolex.ying.space.pojo.AddMarktingCatalogGoodsDTO;
import com.ecoolex.ying.space.pojo.QueryMarktingCatalogGoodsDTO;

public interface MarktingCatalogGoodsService {

    MarktingCatalogGoods addCatalogGoods(AddMarktingCatalogGoodsDTO record, String createUser) throws BizException;

    void deleteCatalogGoods(MarktingCatalogGoods record, String updateUser) throws BizException;
    
    MarktingCatalogGoods editGoods(MarktingCatalogGoods record, String updateUser) throws BizException;

    MarktingCatalogGoods getCatalogGoodsById(Integer catalogGoodsId);

    Pagination<MarktingCatalogGoods> queryRelatedCatalogGoods(QueryMarktingCatalogGoodsDTO query, Sorting[] sorts, Page page);

    Pagination<OutsourcingGoodsWithBLOBs> queryUnrelatedCatalogGoods(QueryMarktingCatalogGoodsDTO query, Sorting[] sorts, Page page);

    long countCatalogGoodsByCatalogId(Integer catalogId);
    
    Pagination<MarktingCatalogGoods> queryMarktingCatalogGoodsByCatalogId(Integer catalogId,Page page);
    
    List<MarktingCatalogGoods> marktingCatalogGoodsList(Integer catalogId,int size);
}
